<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /**
        Map
        ES6提供了Map数据结构，它类似于对象，也是键值对的集合，但是"键"的范围不限于字符串，各种类型的值(包括对象)
        都可以当做键。Map也实现了iterator接口，所以可以使用[扩展运算符]和[for...of...]进行遍历。Map的属性和方法。
        size        返回Map的元素个数
        set         增加一个新元素，返回当前Map
        get         返回键名对象的键值
        has         检测Map中是否包含某个元素，返回boolean值
        clear       清空集合，返回undefined
        */

        //声明Map
        let m = new Map();
        //添加元素
        m.set('name', '尚硅谷');
        m.set('change', function() {
            console.log('我们可以改变你!');
        });

        let key = {
            school: 'ATGUIGU'
        };

        m.set(key, ['北京','上海','深圳']);

        //size
        console.log(m.size);

        //删除
        m.delete('name');

        //获取
        console.log(m.get('change'));

        //清空
        m.clear();

        //遍历
        for(let v of m) {
            console.log(v);
        }


        console.log(m);
    </script>
</body>

</html>